Skip to content

Reject multiple rows when the protobuf cannot represent groups - #560

Merged
tarcisiozf merged 2 commits into
capabilities-developmentfrom
solana-gogen-fix-filter-gen
Aug 6, 2026
Merged

Reject multiple rows when the protobuf cannot represent groups#560
tarcisiozf merged 2 commits into
capabilities-developmentfrom
solana-gogen-fix-filter-gen

Conversation

@Unheilbar

@Unheilbar Unheilbar commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Expected behavior

Multi-row Solana filter input should be interpreted as OR across rows, with AND inside each row.
Example intent:
Row 1: caller = Alice AND message = hello
Row 2: caller = Bob AND message = bye
Effective logic should be:
(caller = Alice AND message = hello) OR (caller = Bob AND message = bye)

Actual before this change

Generated comparers were flattened per field.
Log poller evaluated those comparers with AND.
This could create impossible predicates and silently inactive triggers.

Actual after this change

Unsupported multi-row input is rejected at configuration time with clear single-row guidance.
Conflicting same-subkey equality filters are rejected.
Valid single-row filters continue to work normally.

Prevents successful registration of triggers that can never match. Fails fast with actionable feedback instead of silent no-op behavior.

@Unheilbar
Unheilbar requested a review from a team as a code owner July 30, 2026 18:27
silaslenihan
silaslenihan previously approved these changes Jul 30, 2026
@tarcisiozf
tarcisiozf added this pull request to the merge queue Aug 6, 2026
Merged via the queue into capabilities-development with commit ee656e1 Aug 6, 2026
13 checks passed
@tarcisiozf
tarcisiozf deleted the solana-gogen-fix-filter-gen branch August 6, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants